package com.ifnk.portaljava.hlyt.service;

import com.ifnk.portaljava.hlyt.beans.Log;

import java.sql.Timestamp;
import java.util.List;
/**
 * <p>Title:管理日志类接口 </p>
 *
 * <p>Description: </p>
 *
 * <p>Copyright: Copyright (c) 2010</p>
 *
 * <p>Company: </p>
 *
 * @author  xiaoyan.zhang.hlyt@gmail.com
 * @version 1.0
 */
public interface ILogService {
	/**
	 * 用户日志
	 * @param moduleName
	 * @param event
	 * @param info
	 */
	void userlog(String moduleName,String event,String info,String result);
	
	/**
	 * 系统日志
	 * @param moduleName
	 * @param event
	 * @param info
	 */
	void syslog(String moduleName,String event,String info,String result);
	/**
	 * 记录错误的系统日志
	 * @param moduleName
	 * @param event
	 * @param info
	 * @param result
	 */
	void errorlog(String moduleName,String event,String info,String result);
	/**
	 * 从log表中查出所有可能的userName，去除重复
	 * @return
	 */
	List<String> findUserName();
	/**
	 * 查处所有可能的moduleName，去除重复
	 * @return
	 */
	List<String> findModuleName();
	/**
	 * 查询出所有可能的event类型
	 * @return
	 */
	List<String> findEvent();
	/**
	 * 查询出所有可能的日志级别
	 * @return
	 */
	List<String> findLevel();
	/**
	 * 查询出所有可能的结果
	 * @return
	 */
	List<String> findResult();
	
	/**
	 * 根据页面传递的条件查询符合条件的所有日志
	 * @param log
	 * @return
	 */
	List<Log> findByLog(Log log,Timestamp startTime,Timestamp endTime);
	/**
	 * 默认要显示的日志列表：显示当天的日志列表
	 * @return
	 */
	List<Log> findTodayLogList();
}
